package com.powerwyx.shortlink.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.powerwyx.shortlink.project.pojo.dto.ShortLinkGroupStatsAccessRecordDTO;
import com.powerwyx.shortlink.project.pojo.dto.ShortLinkGroupStatsDTO;
import com.powerwyx.shortlink.project.pojo.dto.ShortLinkStatsAccessRecordDTO;
import com.powerwyx.shortlink.project.pojo.dto.ShortLinkStatsDTO;
import com.powerwyx.shortlink.project.pojo.vo.ShortLinkStatsAccessRecordVO;
import com.powerwyx.shortlink.project.pojo.vo.ShortLinkStatsVO;

/**
 * @author 王艺锡
 * @version 1.0
 */
public interface ShortLinkStatsService {

    /**
     * 访问单个短链接指定时间内监控数据
     * @param shortLinkStatsDTO
     * @return
     */
    ShortLinkStatsVO oneShortLinkStats(ShortLinkStatsDTO shortLinkStatsDTO);

    /**
     * 获取分组短链接监控数据
     * @param shortLinkGroupStatsDTO
     * @return
     */
    ShortLinkStatsVO groupShortLinkStats(ShortLinkGroupStatsDTO shortLinkGroupStatsDTO);


    /**
     * 访问单个短链接指定时间内访问记录监控数据
     * @param shortLinkStatsAccessRecordDTO
     * @return
     */
    IPage<ShortLinkStatsAccessRecordVO> shortLinkStatsAccessRecord(ShortLinkStatsAccessRecordDTO shortLinkStatsAccessRecordDTO);


    /**
     * 访问分组短链接指定时间内访问记录监控数据
     * @param shortLinkGroupStatsAccessRecordDTO
     * @return
     */
    IPage<ShortLinkStatsAccessRecordVO> groupShortLinkStatsAccessRecord(ShortLinkGroupStatsAccessRecordDTO shortLinkGroupStatsAccessRecordDTO);

}
